home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / clarfb.z / clarfb
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. CCCCLLLLAAAARRRRFFFFBBBB((((3333FFFF))))                                                          CCCCLLLLAAAARRRRFFFFBBBB((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      CLARFB - applie a complex block reflector H or its transpose H' to a
  10.      complex M-by-N matrix C, from either the left or the right
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE CLARFB( SIDE, TRANS, DIRECT, STOREV, M, N, K, V, LDV, T, LDT,
  14.                         C, LDC, WORK, LDWORK )
  15.  
  16.          CHARACTER      DIRECT, SIDE, STOREV, TRANS
  17.  
  18.          INTEGER        K, LDC, LDT, LDV, LDWORK, M, N
  19.  
  20.          COMPLEX        C( LDC, * ), T( LDT, * ), V( LDV, * ), WORK( LDWORK, *
  21.                         )
  22.  
  23. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  24.      CLARFB applies a complex block reflector H or its transpose H' to a
  25.      complex M-by-N matrix C, from either the left or the right.
  26.  
  27.  
  28. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  29.      SIDE    (input) CHARACTER*1
  30.              = 'L': apply H or H' from the Left
  31.              = 'R': apply H or H' from the Right
  32.  
  33.      TRANS   (input) CHARACTER*1
  34.              = 'N': apply H (No transpose)
  35.              = 'C': apply H' (Conjugate transpose)
  36.  
  37.      DIRECT  (input) CHARACTER*1
  38.              Indicates how H is formed from a product of elementary reflectors
  39.              = 'F': H = H(1) H(2) . . . H(k) (Forward)
  40.              = 'B': H = H(k) . . . H(2) H(1) (Backward)
  41.  
  42.      STOREV  (input) CHARACTER*1
  43.              Indicates how the vectors which define the elementary reflectors
  44.              are stored:
  45.              = 'C': Columnwise
  46.              = 'R': Rowwise
  47.  
  48.      M       (input) INTEGER
  49.              The number of rows of the matrix C.
  50.  
  51.      N       (input) INTEGER
  52.              The number of columns of the matrix C.
  53.  
  54.      K       (input) INTEGER
  55.              The order of the matrix T (= the number of elementary reflectors
  56.              whose product defines the block reflector).
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. CCCCLLLLAAAARRRRFFFFBBBB((((3333FFFF))))                                                          CCCCLLLLAAAARRRRFFFFBBBB((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      V       (input) COMPLEX array, dimension
  75.              (LDV,K) if STOREV = 'C' (LDV,M) if STOREV = 'R' and SIDE = 'L'
  76.              (LDV,N) if STOREV = 'R' and SIDE = 'R' The matrix V. See further
  77.              details.
  78.  
  79.      LDV     (input) INTEGER
  80.              The leading dimension of the array V.  If STOREV = 'C' and SIDE =
  81.              'L', LDV >= max(1,M); if STOREV = 'C' and SIDE = 'R', LDV >=
  82.              max(1,N); if STOREV = 'R', LDV >= K.
  83.  
  84.      T       (input) COMPLEX array, dimension (LDT,K)
  85.              The triangular K-by-K matrix T in the representation of the block
  86.              reflector.
  87.  
  88.      LDT     (input) INTEGER
  89.              The leading dimension of the array T. LDT >= K.
  90.  
  91.      C       (input/output) COMPLEX array, dimension (LDC,N)
  92.              On entry, the M-by-N matrix C.  On exit, C is overwritten by H*C
  93.              or H'*C or C*H or C*H'.
  94.  
  95.      LDC     (input) INTEGER
  96.              The leading dimension of the array C. LDC >= max(1,M).
  97.  
  98.      WORK    (workspace) COMPLEX array, dimension (LDWORK,K)
  99.  
  100.      LDWORK  (input) INTEGER
  101.              The leading dimension of the array WORK.  If SIDE = 'L', LDWORK
  102.              >= max(1,N); if SIDE = 'R', LDWORK >= max(1,M).
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.